package socket.server;

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

/**
 * ServerSocket 实现服务端与客户端通讯
 *
 * @author PeicongHe
 *
 */

public class ServerSocketDemo {

    public static void main(String[] args) {
        test1();
    }
    /**
     * 步骤：
     * 1 先创建一个服务端，端口号为：8888
     * 2 等待客户端连接
     * 3 创建一个客户端的输入流（用于将信息发送给服务端）
     * 4 服务端打印并显示信息
     */
    public static void test1() {
        try {
            ServerSocket serverSocket = new ServerSocket(8888); // 创建一个服务端，监听端口8888
            Socket socket = serverSocket.accept(); // 等待客户端连接过来
            System.out.println("来客IP： " + socket.getInetAddress()); // 获取来客的IP地址
            InputStream is = socket.getInputStream();// 客户端的输入流
            Scanner sc = new Scanner(is);
            String msg = "";
            while (sc.hasNextLine()) {
                msg = sc.nextLine();
                System.out.println(msg);
                if (msg.equals("exit")) {
                    System.out.println("我要退出!");
                    System.exit(0);
                }
            }
            sc.close();
            is.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
